(function(window,document,undefined){try{if(window.UOLPD.TagManager["wotlhw"]){return;}}catch(err){}var tmConsole;function ContentValidator(){var $public=this;var $private={};$public.isFilledObject=function(entity){if(!entity||entity.constructor!==Object){return false;}for(var key in entity){return true;}return false;};$public.stringIsNotEmpty=function(string){if(typeof string!=="string"){return false;}return $private.trimString(string).length>0;};$private.trimString=function(string){return string.replace(/^(\s+)|(\s+)$/gm,"").replace(/\s+/gm," ");};$public.stringMatches=function(string,regexp){if(!$public.stringIsNotEmpty(string)){return false;}return regexp.test(string);};return $public;}function CookieUtils(){var $public=this;var $private={};$private.typeValidator=new TypeValidator();$public.getItem=function(name){if(!$private.typeValidator.isString(name)){return;}var cookie=document.cookie;var startIndex=cookie.indexOf(name+"=");if(startIndex===-1){return;}var middleIndex=cookie.indexOf("=",startIndex)+1;var endIndex=cookie.indexOf(";",middleIndex);cookie=cookie.replace(/ SameSite=None; Secure;/gi,"");if(endIndex===-1){endIndex=cookie.length;}return unescape(cookie.substring(middleIndex,endIndex));};$public.setItem=function(name,value,domain,expireDays,expireHours,expireMinutes){if(!$private.typeValidator.isString(name)){return false;}if(!$private.typeValidator.isString(value)){return false;}document.cookie=$private.createCookieString(name,value,domain,expireDays,expireHours,expireMinutes);};$private.createCookieString=function(name,value,domain,expireDays,expireHours,expireMinutes){var cookie=name+"="+value;if($private.hasExpirationTime(expireDays,expireHours,expireMinutes)){cookie+="; expires="+$private.getExpirationDate(expireDays,expireHours,expireMinutes)+"; path=/";}if($private.typeValidator.isString(domain)){if(cookie.substr(cookie.length-1)!==";"){cookie+=";";}cookie+=" domain="+domain+";";}if(window.location.ancestorOrigins.length>0){if(!window.location.ancestorOrigins[0].match(/localhost/g)&&!window.location.ancestorOrigins[0].match(/uol.com/g)&&!window.location.ancestorOrigins[0].match(/karma.tm.uol.com.br/g)){if(cookie.substr(cookie.length-1)!==";"){cookie+="; SameSite=None; Secure;";}else{cookie+=" SameSite=None; Secure;";}}}return cookie;};$private.hasExpirationTime=function(days,hours,minutes){if($private.isValidNumber(days)||$private.isValidNumber(hours)||$private.isValidNumber(minutes)){return true;}return false;};$private.isValidNumber=function(number){if(!isNaN(parseInt(number))&&parseInt(number)!==0){return true;}return false;};$private.getExpirationDate=function(days,hours,minutes){var exdate=new Date();if($private.isValidNumber(days)){exdate.setDate(exdate.getDate()+days);}if($private.isValidNumber(hours)){exdate.setHours(exdate.getHours()+hours);}if($private.isValidNumber(minutes)){exdate.setMinutes(exdate.getMinutes()+minutes);}return exdate.toGMTString();};$private.setCookie=function(value){document.cookie=value;};$public.removeItem=function(name,domain){$private.setCookie($private.createCookieString(name,"",domain,-100));};$public.getCookies=function(){var listCookies=document.cookie;listCookies=listCookies.replace(/ SameSite=None; Secure;/gi,"");return listCookies;};}function Logs(){var $private={};var $public=this;$private.queryString=new QueryString();$private.typeValidator=new TypeValidator();$private.tmConsole=(typeof tmConsole!=="undefined"?tmConsole:undefined);$private.history={"warn":[],"error":[],"info":[],"debug":[],"log":[]};$public.getPrefix=function(prefix){return $private.prefix;};$public.setPrefix=function(prefix){if($private.typeValidator.isString(prefix)){$private.prefix="["+prefix+"] ";}};$public.warn=function(message,namTag,namespace,executionTime){if($public.consoleValidator($private.tmConsole)){$private.tmConsole.append(namTag,namespace,message,executionTime,"warn");}return $private.print(message,"warn");};$public.error=function(message,namTag,namespace,executionTime){if($public.consoleValidator($private.tmConsole)){$private.tmConsole.append(namTag,namespace,message,executionTime,"error");}return $private.print(message,"error");};$public.info=function(message){return $private.print(message,"info");};$public.debug=function(message){return $private.print(message,"debug");};$public.log=function(message,namTag,namespace,executionTime){if($public.consoleValidator($private.tmConsole)){$private.tmConsole.append(namTag,namespace,message,executionTime,"success");}return $private.print(message,"log");};$public.consoleValidator=function(tmConsole){if(!tmConsole){return false;}if(!$private.typeValidator.isFunction(tmConsole.append)){return false;}return true;};$private.print=function(msg,fn){if(!$private.prefix){return;}if(!$private.typeValidator.isString(msg)){return;}msg=$private.prefix+msg;$public.setHistory(fn,msg);if($public.isActive()===false||!$private.hasConsole()){return;}return $private.runLogMethod(fn,msg);};$public.isActive=function(){if($private.queryString.getValue("tm")==="debug"){return true;}return false;};$public.getHistory=function(methodName){if($private.typeValidator.isArray($private.history[methodName])){return $private.history[methodName];}return;};$public.setHistory=function(fn,msg){if($private.typeValidator.isString(msg)&&$private.typeValidator.isArray($private.history[fn])){$private.history[fn].push(msg);}};$private.hasConsole=function(){if(!$private.typeValidator.isDefined($public.getConsole())){return false;}if(!$private.typeValidator.isDefined($public.getConsoleLog())){return false;}return true;};$public.getConsole=function(){return window.console;};$public.getConsoleLog=function(){return $public.getConsole().log;};$private.runLogMethod=function(fn,msg){if($private.typeValidator.isDefined($public.getConsole()[fn])){$public.getConsole()[fn](msg);return fn;}window.console.log(msg);return"log";};}function NameSpace(packageName){var $private={};var $public=this;$private.version="${project.version}";$private.validator=new TypeValidator();$public.init=function(packageName){if($private.validator.isString(packageName)){return $public.create(packageName);}};$public.create=function(packageName){$private.createUOLPD();$private.createTagManager();return $private.createPackage(packageName);};$private.createUOLPD=function(){if(!$private.validator.isObject(window.UOLPD)){window.UOLPD={};}};$private.createTagManager=function(){if(!$private.validator.isObject(UOLPD.TagManager)&&!$private.validator.isFunction(UOLPD.TagManager)&&typeof UOLPD.TagManager!=="object"){UOLPD.TagManager={};}};$private.createPackage=function(packageName){if(!$private.validator.isString(packageName)){return UOLPD.TagManager;}if(!$private.validator.isObject(UOLPD.TagManager[packageName])){UOLPD.TagManager[packageName]={};}UOLPD.TagManager[packageName].version=$private.version;if(!$private.validator.isArray(UOLPD.TagManager[packageName].config)){UOLPD.TagManager[packageName].config=[];}if(!$private.validator.isObject(UOLPD.TagManager[packageName].log)){UOLPD.TagManager[packageName].log=new Logs();UOLPD.TagManager[packageName].log.setPrefix("UOLPD.TagManager."+packageName);}return UOLPD.TagManager[packageName];};return $public.init(packageName);}function QueryString(){var $private={};var $public=this;$private.typeValidator=new TypeValidator();$public.getValue=function(name){if(!$private.queryStrings){return;}return $private.queryStrings[name];};$public.getQueryStrings=function(){return $private.queryStrings;};$public.setValues=function(){if(!$private.typeValidator.isString($public.getSearch())){return;}var substrings=$public.getSearch().substring(1).split("&");if(!$private.typeValidator.isArray(substrings)){return;}if(substrings.length===0){return;}for(var i=0,length=substrings.length;i0){$private.configSchema.required=configSchema.required;}return $public;};$public.isValid=function(config){if(!$private.configSchema){return false;}if(!$private.typeValidator.isObject(config)){$public.invalidProperties=$private.configSchema.required;return false;}if(!$private.contentValidator.isFilledObject(config)){$public.invalidProperties=$private.configSchema.required;return false;}return $private.areValidProperties(config);};$private.isValidRequired=function(configSchema){if(!$private.typeValidator.isArray(configSchema.required)){return false;}for(var i=0,length=configSchema.required.length;i-1);};$public.createScript=function(src){if(!$private.typeValidator.isString(src)){return;}var tag=document.createElement("script");tag.setAttribute("src",src);tag.async=true;return tag;};$public.appendTag=function(script){if(!$private.typeValidator.isDefined(script)){return;}if(script.constructor===HTMLScriptElement){$private.lastScriptsParent().appendChild(script);return true;}};$private.lastScriptsParent=function(){return document.getElementsByTagName("script")[0].parentNode;};$public.createSyncScript=function(src){if(!$private.typeValidator.isString(src)){return;}document.write("");};}function StringUtils(){var $private={};var $public=this;$private.typeValidator=new TypeValidator();$public.trim=function(value){if(!$private.typeValidator.isString(value)){return;}if(value.length===0){return;}value=value.replace(/^(\s+)|(\s+)$/gm,"").replace(/\s+/gm," ");return value;};$public.getValueFromKeyInString=function(str,name,separator){if(!$private.typeValidator.isString(name)||name.length===0){return;}if(!$private.typeValidator.isString(str)||str.length===0){return;}if(!$private.typeValidator.isString(separator)||separator.length===0){return;}if(str.substring(str.length-1)){str+=separator;}name+="=";var startIndex=str.indexOf(name);if(startIndex===-1){return"";}var middleIndex=str.indexOf("=",startIndex)+1;var endIndex=str.indexOf(separator,middleIndex);if(endIndex===-1){endIndex=str.length;}return unescape(str.substring(middleIndex,endIndex));};return $public;}function TrackManager(){var $private={};var $public=this;$private.typeValidator=new TypeValidator();$private.scriptUtils=new ScriptUtils();$private.baseMetric={groupingMap:{},measureMap:{}};$private.raffledRate=Math.round(Math.random()*100);$private.samplingRate=1;$public.trackSuccess=function(msr,samplingRate){return;var sampling=$private.generateSamplingRate(samplingRate);$public.addMetrics($private.getMeasures(msr),null,sampling);};$public.trackExecution=function(){var measures=$private.getMeasures("execution");if(!$private.isTrackEnabled(1)){return;}var metric=$private.generateMetric(measures);if(!metric){return;}$private.createNamespaceMetrics();window.UOLPD.TagManager.metrics.push(metric);};$private.generateSamplingRate=function(samplingRate){if($private.typeValidator.isNumber(samplingRate)){return samplingRate;}return $private.samplingRate;};$public.addMetrics=function(measures,groupings,samplingRate){if(!$private.isTrackEnabled(samplingRate)){return;}var metric=$private.generateMetric(measures,groupings);if(!metric){return;}var metricOrigem=metric.groupingMap.Origem;if(metricOrigem!=="TM-dfp-async"&&metricOrigem!=="TM-core"){return;}$private.createNamespaceMetrics();window.UOLPD.TagManager.metrics.push(metric);};$private.isTrackEnabled=function(samplingRate){try{if(window.localStorage.getItem("trackManager")=="true"){return true;}}catch(e){}if($public.getRaffledRate()<=samplingRate){return true;}return false;};$public.getRaffledRate=function(){return $private.raffledRate;};$private.generateMetric=function(measures,groupings){var metric=JSON.parse(JSON.stringify($private.baseMetric));if($private.typeValidator.isObject(measures)){metric.measureMap=metric.measureMap||{};for(var msr in measures){metric.measureMap[msr]=measures[msr];}}if($private.typeValidator.isObject(groupings)){metric.groupingMap=metric.groupingMap||{};for(var grp in groupings){metric.groupingMap[grp]=groupings[grp];}}if(Object.keys(metric.measureMap).length<1){return;}return metric;};$private.createNamespaceMetrics=function(){window.UOLPD=window.UOLPD||{};window.UOLPD.TagManager=window.UOLPD.TagManager||{};window.UOLPD.TagManager.metrics=window.UOLPD.TagManager.metrics||[];};$private.triggerMetrics=function(){return;};$private.getMeasures=function(msr,value,measure){if(!$private.typeValidator.isString(msr)){return measure;}if(!value){value="1";}if($private.typeValidator.isNumericString(value)||$private.typeValidator.isNumber(value)){measure=measure||{};measure[msr]=value;}return measure;};$public.getModuleName=function(moduleName){return $private.moduleName;};$public.setModuleName=function(moduleName){if($private.typeValidator.isString(moduleName)){$private.moduleName="TM-"+moduleName;}$private.baseMetric.groupingMap=$private.baseMetric.groupingMap||{};$private.baseMetric.groupingMap.tm_repo_id=$public.getRepoId();$private.baseMetric.groupingMap.Origem=$private.moduleName;};$public.getRepoId=function(){return"wotlhw";};$public.trackError=function(errorType,errorEffect){var errorGroups=$private.getGroups("erro_tipo",errorType);if(!$private.typeValidator.isObject(errorGroups)){return;}errorGroups=$private.getGroups("erro_efeito",errorEffect,errorGroups);if(!$private.typeValidator.isObject(errorGroups)){return;}$public.addMetrics($private.getMeasures("Erros"),errorGroups);};$private.getGroups=function(grp,value,groups){if(!$private.typeValidator.isString(grp)){return;}if(!$private.typeValidator.isString(value)&&!$private.typeValidator.isNumber(value)){return;}groups=groups||{};groups[grp]=value;return groups;};$public.trackCustom=function(measure,trackType,trackValue,samplingRate){var metricMeasures=$private.getMeasures(measure);var metricsGroups=$private.getGroups(trackType,trackValue);if(!metricMeasures||!metricsGroups){return;}var sampling=$private.generateSamplingRate(samplingRate);$public.addMetrics(metricMeasures,metricsGroups,sampling);};$public.trackCustomObj=function(metrics,samplingRate){if(!$private.typeValidator.isObject(metrics)||!$private.typeValidator.isObject(metrics.measures)){return;}var measures,groups;measures={};for(var msr in metrics.measures){measures=$private.getMeasures(msr,metrics.measures[msr],measures);}if(!$private.isValidMeasures(measures)){return;}if($private.typeValidator.isObject(metrics.groups)){groups={};for(var grp in metrics.groups){groups=$private.getGroups(grp,metrics.groups[grp],groups);}}var sampling=$private.generateSamplingRate(samplingRate);$public.addMetrics(measures,groups,sampling);};$private.isValidMeasures=function(measures){if(Object.keys(measures).length<1){return false;}var isValid=false;for(var msr in measures){if(measures[msr]==1||measures[msr]=="1"){isValid=true;}}return isValid;};}function TypeValidator(){var $public=this;var $private={};$private.contentValidator=new ContentValidator();$public.isDefined=function(value){return value!==undefined&&value!==null;};$public.isString=function(value){return $private.contentValidator.stringIsNotEmpty(value);};$public.isArray=function(value){return value&&value.constructor.toString()===Array.toString();};$public.isObject=function(entity){return entity&&entity.constructor.toString()===Object.toString();};$public.isFunction=function(value){return value!==undefined&&value.constructor.toString()===Function.toString();};$public.isNumber=function(value){return Number(value)===value;};$public.isInt=function(value){return $public.isNumber(value)&&value%1===0;};$public.isRegExp=function(value){return value!==undefined&&value.constructor.toString()===RegExp.toString();};$public.isNumericString=function(value){return $public.isString(value)&&!isNaN(value);};$public.isBoolean=function(value){return value!==undefined&&value.constructor.toString()==Boolean.toString();};return $public;}var uolpdCommons=new NameSpace("Commons");uolpdCommons.RemoteStorage=RemoteStorage;(function(window,document,undefined){var CodeInjectorSchema={"properties":{"codeInjector":"isString","globalScope":"isArray"},"required":["codeInjector"]};function Injector(){var $private={};var $public=this;$private.schema=new Schema(CodeInjectorSchema);$public.logger=new Logs();$public.logger.setPrefix("UOLPD.TagManager.CodeInjector");$public.codes=[];$private.typeValidator=new TypeValidator();$public.init=function(config,namTag,namespace){$private.configureLogger(namTag,namespace);if(!$private.schema.isValid(config)){$public.logger.error("A configuração fornecida pelo Tag Manager está inválida a seguinte propriedade de configuração: "+$private.schema.invalidProperties.join(", ")+" não existe ou está inválida",$private.namTag,$private.namespace,$private.calculateTimeSpent());return;}var code=$private.trimScriptTag(config.codeInjector);$private.evalCode(code,config.globalScope);};$private.configureLogger=function(namTag,namespace){$private.namTag=namTag;$private.namespace=namespace;$private.timeStampInit=Date.now();};$private.trackError=function(errorType,errorMessage){if(!$private.typeValidator.isString(errorType)){return;}if(!$private.typeValidator.isString(errorMessage)){return;}$public.logger.warn(errorMessage,$private.namTag,$private.namespace,$private.calculateTimeSpent());};$private.calculateTimeSpent=function(timeStampInit){if(!$private.typeValidator.isDefined(timeStampInit)){return Date.now()-$private.timeStampInit;}return Date.now()-timeStampInit;};$private.trimScriptTag=function(code){var replaceScriptRegex=/^(\s+)?